package com.example.beikeyigou;

import androidx.appcompat.app.AppCompatActivity;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioGroup;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    RadioGroup rg;
    Button fpagebtn,typebtn,mebtn,loginbtn,regbtn,cancelbtn;
    TextView logintv;//登陆提示文本
    DrawerLayout drawerLayout;

    private FragmentManager fm;
    List<Fragment> fragmentList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        setListener();
        initFragment();

    }

    private void initFragment() {
        fragmentList = new ArrayList<>();
        fragmentList.add(new FPageFragment());
        fragmentList.add(new TypeFragment());
        fragmentList.add(new MeFragment());
        // 将碎片添加到activity
        // 1。获取碎片管理者对象
        fm = getSupportFragmentManager();
        // 2.获取碎片事物对象
        FragmentTransaction transaction = fm.beginTransaction();
        for (int i = 0; i < fragmentList.size(); i++) {
            transaction.add(R.id.main_layout,fragmentList.get(i));
            transaction.hide(fragmentList.get(i));
        }
        transaction.show(fragmentList.get(0));
        transaction.commit();
    }

    // 切换Fragment
    private void changeFragment(int pos){
        FragmentTransaction transaction = fm.beginTransaction();
        for (int i = 0; i < fragmentList.size(); i++) {
            transaction.hide(fragmentList.get(i));
        }
        transaction.show(fragmentList.get(pos));
        transaction.commit();
    }

    private void setListener() {
        fpagebtn.setOnClickListener(onClickListener);
        typebtn.setOnClickListener(onClickListener);
        mebtn.setOnClickListener(onClickListener);
        loginbtn.setOnClickListener(onClickListener);
        regbtn.setOnClickListener(onClickListener);
        cancelbtn.setOnClickListener(onClickListener);
        rg.setOnCheckedChangeListener(listener);
    }


    //创建监听对象
    View.OnClickListener onClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            int id = v.getId();  // 获取到被点击的id
            switch (id) {
                case R.id.drawer_btn_fpage:
                    rg.check(R.id.main_rb1);
                    break;
                case R.id.drawer_btn_type:
                    rg.check(R.id.main_rb2);
                    break;
                case R.id.drawer_btn_me:
                    rg.check(R.id.main_rb3);
                    break;
                case R.id.drawer_btn_login:

                    Intent it1 = new Intent(MainActivity.this,LoginRegActivity.class);
                    it1.putExtra("flag",0);
                    startActivity(it1);
                    break;
                case R.id.drawer_btn_reg:

                    it1 = new Intent(MainActivity.this,LoginRegActivity.class);
                    it1.putExtra("flag",1);
                    startActivity(it1);
                    break;
                case R.id.drawer_btn_cancel:
                    break;
            }
            drawerLayout.closeDrawers();  //关闭抽屉
        }
    };

    RadioGroup.OnCheckedChangeListener listener = new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            switch (checkedId) {
                case R.id.main_rb1:
                    changeFragment(0);
                    break;
                case R.id.main_rb2:
                    changeFragment(1);
                    break;
                case R.id.main_rb3:
                    changeFragment(2);
                    break;
            }
        }
    };


    // 查找控件
    private void initView() {
        rg = findViewById(R.id.main_rg);
        fpagebtn = findViewById(R.id.drawer_btn_fpage);
        typebtn = findViewById(R.id.drawer_btn_type);
        mebtn = findViewById(R.id.drawer_btn_me);
        loginbtn = findViewById(R.id.drawer_btn_login);
        regbtn = findViewById(R.id.drawer_btn_reg);
        cancelbtn = findViewById(R.id.drawer_btn_cancel);
        logintv = findViewById(R.id.drawer_tv_name);
        drawerLayout = findViewById(R.id.main_drawer);
    }


}